using System;
using System.IO;
using System.Linq;
using System.Globalization;
using System.Collections.Generic;

namespace Timelapse_API
{
	public partial class PP3
	{
		private void Write302(StreamWriter writer)
		{
			CultureInfo culture = new CultureInfo("en-US");
			string digits = "F16";

			writer.WriteLine("[Version]");
			writer.WriteLine("AppVersion=" + Values["Version.AppVersion"].Value.ToString());
			writer.WriteLine("Version=" + FileVersion.ToString());
			writer.WriteLine();
			writer.WriteLine("[General]");
			writer.WriteLine("Rank=" + Values["General.Rank"].Value.ToString());
			writer.WriteLine("ColorLabel=" + Values["General.ColorLabel"].Value.ToString());
			writer.WriteLine("InTrash=" + Values["General.InTrash"].Value.ToString().ToLower());
			writer.WriteLine();
			writer.WriteLine("[Exposure]");
			writer.WriteLine("Auto=" + Values["Exposure.Auto"].Value.ToString().ToLower());
			writer.WriteLine("Clip=" + ((double)Values["Exposure.Clip"].Value).ToString(digits, culture));
			writer.WriteLine("Compensation=" + NewCompensation.ToString(digits, culture));
			writer.WriteLine("Brightness=" + Values["Exposure.Brightness"].Value.ToString());
			writer.WriteLine("Contrast=" + Values["Exposure.Contrast"].Value.ToString());
			writer.WriteLine("Saturation=" + Values["Exposure.Saturation"].Value.ToString());
			writer.WriteLine("Black=" + Values["Exposure.Black"].Value.ToString());
			writer.WriteLine("HighlightCompr=" + Values["Exposure.HighlightCompr"].Value.ToString());
			writer.WriteLine("HighlightComprThreshold=" + Values["Exposure.HighlightComprThreshold"].Value.ToString());
			writer.WriteLine("ShadowCompr=" + Values["Exposure.ShadowCompr"].Value.ToString());
			writer.WriteLine("Curve=" + ((PP3Curve)Values["Exposure.Curve"].Value).ToString());
			writer.WriteLine();
			writer.WriteLine("[Channel Mixer]");
			writer.WriteLine("Red=" + ((PP3Curve)Values["ChannelMixer.Red"].Value).ToString());
			writer.WriteLine("Green=" + ((PP3Curve)Values["ChannelMixer.Green"].Value).ToString());
			writer.WriteLine("Blue=" + ((PP3Curve)Values["ChannelMixer.Blue"].Value).ToString());
			writer.WriteLine();
			writer.WriteLine("[Luminance Curve]");
			writer.WriteLine("Brightness=" + Values["LuminanceCurve.Brightness"].Value.ToString());
			writer.WriteLine("Contrast=" + Values["LuminanceCurve.Contrast"].Value.ToString());
			writer.WriteLine("Saturation=" + Values["LuminanceCurve.Saturation"].Value.ToString());
			writer.WriteLine("AvoidColorClipping=" + Values["LuminanceCurve.AvoidColorClipping"].Value.ToString().ToLower());
			writer.WriteLine("SaturationLimiter=" + Values["LuminanceCurve.SaturationLimiter"].Value.ToString().ToLower());
			writer.WriteLine("SaturationLimit=" + Values["LuminanceCurve.SaturationLimit"].Value.ToString());
			writer.WriteLine("BWtoning=" + Values["LuminanceCurve.BWtoning"].Value.ToString().ToLower());
			writer.WriteLine("LCurve=" + ((PP3Curve)Values["LuminanceCurve.LCurve"].Value).ToString());
			writer.WriteLine("aCurve=" + ((PP3Curve)Values["LuminanceCurve.aCurve"].Value).ToString());
			writer.WriteLine("bCurve=" + ((PP3Curve)Values["LuminanceCurve.bCurve"].Value).ToString());
			writer.WriteLine();
			writer.WriteLine("[Sharpening]");
			writer.WriteLine("Enabled=" + Values["Sharpening.Enabled"].Value.ToString().ToLower());
			writer.WriteLine("Method=" + Values["Sharpening.Method"].Value.ToString());
			writer.WriteLine("Radius=" + ((double)Values["Sharpening.Radius"].Value).ToString(digits, culture));
			writer.WriteLine("Amount=" + Values["Sharpening.Amount"].Value.ToString());
			writer.WriteLine("Threshold=" + ((PP3Curve)Values["Sharpening.Threshold"].Value).ToString());
			writer.WriteLine("OnlyEdges=" + Values["Sharpening.OnlyEdges"].Value.ToString().ToLower());
			writer.WriteLine("EdgedetectionRadius=" + ((double)Values["Sharpening.EdgedetectionRadius"].Value).ToString(digits, culture));
			writer.WriteLine("EdgeTolerance=" + Values["Sharpening.EdgeTolerance"].Value.ToString());
			writer.WriteLine("HalocontrolEnabled=" + Values["Sharpening.HalocontrolEnabled"].Value.ToString().ToLower());
			writer.WriteLine("HalocontrolAmount=" + Values["Sharpening.HalocontrolAmount"].Value.ToString());
			writer.WriteLine("DeconvRadius=" + ((double)Values["Sharpening.DeconvRadius"].Value).ToString(digits, culture));
			writer.WriteLine("DeconvAmount=" + Values["Sharpening.DeconvAmount"].Value.ToString());
			writer.WriteLine("DeconvDamping=" + Values["Sharpening.DeconvDamping"].Value.ToString());
			writer.WriteLine("DeconvIterations=" + Values["Sharpening.DeconvIterations"].Value.ToString());
			writer.WriteLine();
			writer.WriteLine("[Vibrance]");
			writer.WriteLine("Enabled=" + Values["Vibrance.Enabled"].Value.ToString().ToLower());
			writer.WriteLine("Pastels=" + Values["Vibrance.Pastels"].Value.ToString());
			writer.WriteLine("Saturated=" + Values["Vibrance.Saturated"].Value.ToString());
			writer.WriteLine("PSThreshold=" + ((PP3Curve)Values["Vibrance.PSThreshold"].Value).ToString());
			writer.WriteLine("ProtectSkins=" + Values["Vibrance.ProtectSkins"].Value.ToString().ToLower());
			writer.WriteLine("AvoidColorShift=" + Values["Vibrance.AvoidColorShift"].Value.ToString().ToLower());
			writer.WriteLine("PastSatTog=" + Values["Vibrance.PastSatTog"].Value.ToString().ToLower());
			writer.WriteLine();
			writer.WriteLine("[SharpenEdge]");
			writer.WriteLine("Enabled=" + Values["SharpenEdge.Enabled"].Value.ToString().ToLower());
			writer.WriteLine("Passes=" + Values["SharpenEdge.Passes"].Value.ToString());
			writer.WriteLine("Strength=" + Values["SharpenEdge.Strength"].Value.ToString());
			writer.WriteLine("ThreeChannels=" + Values["SharpenEdge.ThreeChannels"].Value.ToString().ToLower());
			writer.WriteLine();
			writer.WriteLine("[SharpenMicro]");
			writer.WriteLine("Enabled=" + Values["SharpenMicro.Enabled"].Value.ToString().ToLower());
			writer.WriteLine("Matrix=" + Values["SharpenMicro.Matrix"].Value.ToString().ToLower());
			writer.WriteLine("Strength=" + Values["SharpenMicro.Strength"].Value.ToString());
			writer.WriteLine("Uniformity=" + Values["SharpenMicro.Uniformity"].Value.ToString());
			writer.WriteLine();
			writer.WriteLine("[White Balance]");
			writer.WriteLine("Setting=" + Values["WhiteBalance.Setting"].Value.ToString());
			writer.WriteLine("Temperature=" + Values["WhiteBalance.Temperature"].Value.ToString());
			writer.WriteLine("Green=" + ((double)Values["WhiteBalance.Green"].Value).ToString(digits, culture));
			writer.WriteLine();
			writer.WriteLine("[Impulse Denoising]");
			writer.WriteLine("Enabled=" + Values["ImpulseDenoising.Enabled"].Value.ToString().ToLower());
			writer.WriteLine("Threshold=" + Values["ImpulseDenoising.Threshold"].Value.ToString());
			writer.WriteLine();
			writer.WriteLine("[Defringing]");
			writer.WriteLine("Enabled=" + Values["Defringing.Enabled"].Value.ToString().ToLower());
			writer.WriteLine("Radius=" + ((double)Values["Defringing.Radius"].Value).ToString(digits, culture));
			writer.WriteLine("Threshold=" + Values["Defringing.Threshold"].Value.ToString());
			writer.WriteLine();
			writer.WriteLine("[Directional Pyramid Denoising]");
			writer.WriteLine("Enabled=" + Values["DirectionalPyramidDenoising.Enabled"].Value.ToString().ToLower());
			writer.WriteLine("Luma=" + Values["DirectionalPyramidDenoising.Luma"].Value.ToString());
			writer.WriteLine("Chroma=" + Values["DirectionalPyramidDenoising.Chroma"].Value.ToString());
			writer.WriteLine("Gamma=" + ((double)Values["DirectionalPyramidDenoising.Gamma"].Value).ToString(digits, culture));
			writer.WriteLine();
			writer.WriteLine("[EPD]");
			writer.WriteLine("Enabled=" + Values["EPD.Enabled"].Value.ToString().ToLower());
			writer.WriteLine("Strength=" + ((double)Values["EPD.Strength"].Value).ToString(digits, culture));
			writer.WriteLine("EdgeStopping=" + ((double)Values["EPD.EdgeStopping"].Value).ToString(digits, culture));
			writer.WriteLine("Scale=" + ((double)Values["EPD.Scale"].Value).ToString(digits, culture));
			writer.WriteLine("ReweightingIterates=" + Values["EPD.ReweightingIterates"].Value.ToString());
			writer.WriteLine();
			writer.WriteLine("[Shadows & Highlights]");
			writer.WriteLine("Enabled=" + Values["ShadowsAndHighlights.Enabled"].Value.ToString().ToLower());
			writer.WriteLine("HighQuality=" + Values["ShadowsAndHighlights.HighQuality"].Value.ToString().ToLower());
			writer.WriteLine("Highlights=" + Values["ShadowsAndHighlights.Highlights"].Value.ToString());
			writer.WriteLine("HighlightTonalWidth=" + Values["ShadowsAndHighlights.HighlightTonalWidth"].Value.ToString());
			writer.WriteLine("Shadows=" + Values["ShadowsAndHighlights.Shadows"].Value.ToString());
			writer.WriteLine("ShadowTonalWidth=" + Values["ShadowsAndHighlights.ShadowTonalWidth"].Value.ToString());
			writer.WriteLine("LocalContrast=" + Values["ShadowsAndHighlights.LocalContrast"].Value.ToString());
			writer.WriteLine("Radius=" + Values["ShadowsAndHighlights.Radius"].Value.ToString());
			writer.WriteLine();
			writer.WriteLine("[Crop]");
			writer.WriteLine("Enabled=" + Values["Crop.Enabled"].Value.ToString().ToLower());
			writer.WriteLine("X=" + Values["Crop.X"].Value.ToString());
			writer.WriteLine("Y=" + Values["Crop.Y"].Value.ToString());
			writer.WriteLine("W=" + Values["Crop.W"].Value.ToString());
			writer.WriteLine("H=" + Values["Crop.H"].Value.ToString());
			writer.WriteLine("FixedRatio=" + Values["Crop.FixedRatio"].Value.ToString().ToLower());
			writer.WriteLine("Ratio=" + Values["Crop.Ratio"].Value.ToString());
			writer.WriteLine("Orientation=" + Values["Crop.Orientation"].Value.ToString());
			writer.WriteLine("Guide=" + Values["Crop.Guide"].Value.ToString());
			writer.WriteLine();
			writer.WriteLine("[Coarse Transformation]");
			writer.WriteLine("Rotate=" + Values["CoarseTransformation.Rotate"].Value.ToString());
			writer.WriteLine("HorizontalFlip=" + Values["CoarseTransformation.HorizontalFlip"].Value.ToString().ToLower());
			writer.WriteLine("VerticalFlip=" + Values["CoarseTransformation.VerticalFlip"].Value.ToString().ToLower());
			writer.WriteLine();
			writer.WriteLine("[Common Properties for Transformations]");
			writer.WriteLine("AutoFill=" + Values["CommonPropertiesforTransformations.AutoFill"].Value.ToString().ToLower());
			writer.WriteLine();
			writer.WriteLine("[Rotation]");
			writer.WriteLine("Degree=" + ((double)Values["Rotation.Degree"].Value).ToString(digits, culture));
			writer.WriteLine();
			writer.WriteLine("[Distortion]");
			writer.WriteLine("Amount=" + ((double)Values["Distortion.Amount"].Value).ToString(digits, culture));
			writer.WriteLine();
			writer.WriteLine("[LensProfile]");
			writer.WriteLine("LCPFile=" + Values["LensProfile.LCPFile"].Value.ToString());
			writer.WriteLine("UseDistortion=" + Values["LensProfile.UseDistortion"].Value.ToString().ToLower());
			writer.WriteLine("UseVignette=" + Values["LensProfile.UseVignette"].Value.ToString().ToLower());
			writer.WriteLine("UseCA=" + Values["LensProfile.UseCA"].Value.ToString().ToLower());
			writer.WriteLine();
			writer.WriteLine("[Perspective]");
			writer.WriteLine("Horizontal=" + Values["Perspective.Horizontal"].Value.ToString());
			writer.WriteLine("Vertical=" + Values["Perspective.Vertical"].Value.ToString());
			writer.WriteLine();
			writer.WriteLine("[CACorrection]");
			writer.WriteLine("Red=" + ((double)Values["CACorrection.Red"].Value).ToString(digits, culture));
			writer.WriteLine("Blue=" + ((double)Values["CACorrection.Blue"].Value).ToString(digits, culture));
			writer.WriteLine();
			writer.WriteLine("[Vignetting Correction]");
			writer.WriteLine("Amount=" + Values["VignettingCorrection.Amount"].Value.ToString());
			writer.WriteLine("Radius=" + Values["VignettingCorrection.Radius"].Value.ToString());
			writer.WriteLine("Strength=" + Values["VignettingCorrection.Strength"].Value.ToString());
			writer.WriteLine("CenterX=" + Values["VignettingCorrection.CenterX"].Value.ToString());
			writer.WriteLine("CenterY=" + Values["VignettingCorrection.CenterY"].Value.ToString());
			writer.WriteLine();
			writer.WriteLine("[HLRecovery]");
			writer.WriteLine("Enabled=" + Values["HLRecovery.Enabled"].Value.ToString().ToLower());
			writer.WriteLine("Method=" + Values["HLRecovery.Method"].Value.ToString());
			writer.WriteLine();
			writer.WriteLine("[Resize]");
			writer.WriteLine("Enabled=" + Values["Resize.Enabled"].Value.ToString().ToLower());
			writer.WriteLine("Scale=" + ((double)Values["Resize.Scale"].Value).ToString(digits, culture));
			writer.WriteLine("AppliesTo=" + Values["Resize.AppliesTo"].Value.ToString());
			writer.WriteLine("Method=" + Values["Resize.Method"].Value.ToString());
			writer.WriteLine("DataSpecified=" + Values["Resize.DataSpecified"].Value.ToString());
			writer.WriteLine("Width=" + Values["Resize.Width"].Value.ToString());
			writer.WriteLine("Height=" + Values["Resize.Height"].Value.ToString());
			writer.WriteLine();
			writer.WriteLine("[Color Management]");
			writer.WriteLine("InputProfile=" + Values["ColorManagement.InputProfile"].Value.ToString());
			writer.WriteLine("BlendCMSMatrix=" + Values["ColorManagement.BlendCMSMatrix"].Value.ToString().ToLower());
			writer.WriteLine("PreferredProfile=" + Values["ColorManagement.PreferredProfile"].Value.ToString().ToLower());
			writer.WriteLine("WorkingProfile=" + Values["ColorManagement.WorkingProfile"].Value.ToString());
			writer.WriteLine("OutputProfile=" + Values["ColorManagement.OutputProfile"].Value.ToString());
			writer.WriteLine("Gammafree=" + Values["ColorManagement.Gammafree"].Value.ToString());
			writer.WriteLine("Freegamma=" + Values["ColorManagement.Freegamma"].Value.ToString().ToLower());
			writer.WriteLine("GammaValue=" + ((double)Values["ColorManagement.GammaValue"].Value).ToString(digits, culture));
			writer.WriteLine("GammaSlope=" + ((double)Values["ColorManagement.GammaSlope"].Value).ToString(digits, culture));
			writer.WriteLine();
			writer.WriteLine("[Directional Pyramid Equalizer]");
			writer.WriteLine("Enabled=" + Values["DirectionalPyramidEqualizer.Enabled"].Value.ToString().ToLower());
			writer.WriteLine("Mult0=" + ((double)Values["DirectionalPyramidEqualizer.Mult0"].Value).ToString(digits, culture));
			writer.WriteLine("Mult1=" + ((double)Values["DirectionalPyramidEqualizer.Mult1"].Value).ToString(digits, culture));
			writer.WriteLine("Mult2=" + ((double)Values["DirectionalPyramidEqualizer.Mult2"].Value).ToString(digits, culture));
			writer.WriteLine("Mult3=" + ((double)Values["DirectionalPyramidEqualizer.Mult3"].Value).ToString(digits, culture));
			writer.WriteLine("Mult4=" + ((double)Values["DirectionalPyramidEqualizer.Mult4"].Value).ToString(digits, culture));
			writer.WriteLine();
			writer.WriteLine("[HSV Equalizer]");
			writer.WriteLine("HCurve=" + ((PP3Curve)Values["HSVEqualizer.HCurve"].Value).ToString());
			writer.WriteLine("SCurve=" + ((PP3Curve)Values["HSVEqualizer.SCurve"].Value).ToString());
			writer.WriteLine("VCurve=" + ((PP3Curve)Values["HSVEqualizer.VCurve"].Value).ToString());
			writer.WriteLine();
			writer.WriteLine("[RGB Curves]");
			writer.WriteLine("rCurve=" + ((PP3Curve)Values["RGBCurves.rCurve"].Value).ToString());
			writer.WriteLine("gCurve=" + ((PP3Curve)Values["RGBCurves.gCurve"].Value).ToString());
			writer.WriteLine("bCurve=" + ((PP3Curve)Values["RGBCurves.bCurve"].Value).ToString());
			writer.WriteLine();
			writer.WriteLine("[RAW]");
			writer.WriteLine("DarkFrame=" + Values["RAW.DarkFrame"].Value.ToString());
			writer.WriteLine("DarkFrameAuto=" + Values["RAW.DarkFrameAuto"].Value.ToString().ToLower());
			writer.WriteLine("FlatFieldFile=" + Values["RAW.FlatFieldFile"].Value.ToString());
			writer.WriteLine("FlatFieldAutoSelect=" + Values["RAW.FlatFieldAutoSelect"].Value.ToString().ToLower());
			writer.WriteLine("FlatFieldBlurRadius=" + Values["RAW.FlatFieldBlurRadius"].Value.ToString());
			writer.WriteLine("FlatFieldBlurType=" + Values["RAW.FlatFieldBlurType"].Value.ToString());
			writer.WriteLine("CA=" + Values["RAW.CA"].Value.ToString().ToLower());
			writer.WriteLine("CARed=" + ((double)Values["RAW.CARed"].Value).ToString(digits, culture));
			writer.WriteLine("CABlue=" + ((double)Values["RAW.CABlue"].Value).ToString(digits, culture));
			writer.WriteLine("HotDeadPixels=" + Values["RAW.HotDeadPixels"].Value.ToString().ToLower());
			writer.WriteLine("HotDeadPixelThresh=" + Values["RAW.HotDeadPixelThresh"].Value.ToString());
			writer.WriteLine("LineDenoise=" + Values["RAW.LineDenoise"].Value.ToString());
			writer.WriteLine("GreenEqThreshold=" + Values["RAW.GreenEqThreshold"].Value.ToString());
			writer.WriteLine("CcSteps=" + Values["RAW.CcSteps"].Value.ToString());
			writer.WriteLine("Method=" + Values["RAW.Method"].Value.ToString());
			writer.WriteLine("DCBIterations=" + Values["RAW.DCBIterations"].Value.ToString());
			writer.WriteLine("DCBEnhance=" + Values["RAW.DCBEnhance"].Value.ToString().ToLower());
			writer.WriteLine("ALLEnhance=" + Values["RAW.ALLEnhance"].Value.ToString().ToLower());
			writer.WriteLine("PreExposure=" + ((double)Values["RAW.PreExposure"].Value).ToString(digits, culture));
			writer.WriteLine("PrePreserv=" + ((double)Values["RAW.PrePreserv"].Value).ToString(digits, culture));
			writer.WriteLine("PreBlackzero=" + ((double)Values["RAW.PreBlackzero"].Value).ToString(digits, culture));
			writer.WriteLine("PreBlackone=" + ((double)Values["RAW.PreBlackone"].Value).ToString(digits, culture));
			writer.WriteLine("PreBlacktwo=" + ((double)Values["RAW.PreBlacktwo"].Value).ToString(digits, culture));
			writer.WriteLine("PreBlackthree=" + ((double)Values["RAW.PreBlackthree"].Value).ToString(digits, culture));
			writer.WriteLine("PreTwoGreen=" + Values["RAW.PreTwoGreen"].Value.ToString().ToLower());

		}

		private void Read302(string[] lines)
		{
			CultureInfo culture = new CultureInfo("en-US");
			List<string> Llines = lines.ToList();
			Llines.RemoveAll(t => String.IsNullOrWhiteSpace(t) || t.StartsWith("["));
			int i = 0;

			Values.Add("Version.AppVersion", new PP3entry("Version.AppVersion", GetValue(Llines[i]), null, null)); i++;
			FileVersion = Convert.ToInt32(GetValue(Llines[i])); i++;
			Values.Add("General.Rank", new PP3entry("General.Rank", Convert.ToInt32(GetValue(Llines[i])), 0, 0)); i++;
			Values.Add("General.ColorLabel", new PP3entry("General.ColorLabel", Convert.ToInt32(GetValue(Llines[i])), 0, 0)); i++;
			Values.Add("General.InTrash", new PP3entry("General.InTrash", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("Exposure.Auto", new PP3entry("Exposure.Auto", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("Exposure.Clip", new PP3entry("Exposure.Clip", Convert.ToDouble(GetValue(Llines[i]), culture), 0d, 0.9999d)); i++;
			Compensation = Convert.ToDouble(GetValue(Llines[i]), culture); i++;
			Values.Add("Exposure.Brightness", new PP3entry("Exposure.Brightness", Convert.ToInt32(GetValue(Llines[i])), -100, 100)); i++;
			Values.Add("Exposure.Contrast", new PP3entry("Exposure.Contrast", Convert.ToInt32(GetValue(Llines[i])), -100, 100)); i++;
			Values.Add("Exposure.Saturation", new PP3entry("Exposure.Saturation", Convert.ToInt32(GetValue(Llines[i])), -100, 100)); i++;
			Values.Add("Exposure.Black", new PP3entry("Exposure.Black", Convert.ToInt32(GetValue(Llines[i])), -16384, 32768)); i++;
			Values.Add("Exposure.HighlightCompr", new PP3entry("Exposure.HighlightCompr", Convert.ToInt32(GetValue(Llines[i])), 0, 500)); i++;
			Values.Add("Exposure.HighlightComprThreshold", new PP3entry("Exposure.HighlightComprThreshold", Convert.ToInt32(GetValue(Llines[i])), 0, 100)); i++;
			Values.Add("Exposure.ShadowCompr", new PP3entry("Exposure.ShadowCompr", Convert.ToInt32(GetValue(Llines[i])), 0, 100)); i++;
			Values.Add("Exposure.Curve", new PP3entry("Exposure.Curve", PP3Curve.GetCurve(GetValue(Llines[i])), null, null)); i++;
			Values.Add("ChannelMixer.Red", new PP3entry("ChannelMixer.Red", PP3Curve.GetCurve(GetValue(Llines[i])), null, null)); i++;
			Values.Add("ChannelMixer.Green", new PP3entry("ChannelMixer.Green", PP3Curve.GetCurve(GetValue(Llines[i])), null, null)); i++;
			Values.Add("ChannelMixer.Blue", new PP3entry("ChannelMixer.Blue", PP3Curve.GetCurve(GetValue(Llines[i])), null, null)); i++;
			Values.Add("LuminanceCurve.Brightness", new PP3entry("LuminanceCurve.Brightness", Convert.ToInt32(GetValue(Llines[i])), -100, 100)); i++;
			Values.Add("LuminanceCurve.Contrast", new PP3entry("LuminanceCurve.Contrast", Convert.ToInt32(GetValue(Llines[i])), -100, 100)); i++;
			Values.Add("LuminanceCurve.Saturation", new PP3entry("LuminanceCurve.Saturation", Convert.ToInt32(GetValue(Llines[i])), -100, 100)); i++;
			Values.Add("LuminanceCurve.AvoidColorClipping", new PP3entry("LuminanceCurve.AvoidColorClipping", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("LuminanceCurve.SaturationLimiter", new PP3entry("LuminanceCurve.SaturationLimiter", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("LuminanceCurve.SaturationLimit", new PP3entry("LuminanceCurve.SaturationLimit", Convert.ToInt32(GetValue(Llines[i])), 0, 100)); i++;
			Values.Add("LuminanceCurve.BWtoning", new PP3entry("LuminanceCurve.BWtoning", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("LuminanceCurve.LCurve", new PP3entry("LuminanceCurve.LCurve", PP3Curve.GetCurve(GetValue(Llines[i])), null, null)); i++;
			Values.Add("LuminanceCurve.aCurve", new PP3entry("LuminanceCurve.aCurve", PP3Curve.GetCurve(GetValue(Llines[i])), null, null)); i++;
			Values.Add("LuminanceCurve.bCurve", new PP3entry("LuminanceCurve.bCurve", PP3Curve.GetCurve(GetValue(Llines[i])), null, null)); i++;
			Values.Add("Sharpening.Enabled", new PP3entry("Sharpening.Enabled", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("Sharpening.Method", new PP3entry("Sharpening.Method", GetValue(Llines[i]), null, null)); i++;
			Values.Add("Sharpening.Radius", new PP3entry("Sharpening.Radius", Convert.ToDouble(GetValue(Llines[i]), culture), 0.3d, 3d)); i++;
			Values.Add("Sharpening.Amount", new PP3entry("Sharpening.Amount", Convert.ToInt32(GetValue(Llines[i])), 1, 1000)); i++;
			Values.Add("Sharpening.Threshold", new PP3entry("Sharpening.Threshold", PP3Curve.GetCurve(GetValue(Llines[i])), null, null)); i++;
			Values.Add("Sharpening.OnlyEdges", new PP3entry("Sharpening.OnlyEdges", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("Sharpening.EdgedetectionRadius", new PP3entry("Sharpening.EdgedetectionRadius", Convert.ToDouble(GetValue(Llines[i]), culture), 0.5d, 2.5d)); i++;
			Values.Add("Sharpening.EdgeTolerance", new PP3entry("Sharpening.EdgeTolerance", Convert.ToInt32(GetValue(Llines[i])), 10, 10000)); i++;
			Values.Add("Sharpening.HalocontrolEnabled", new PP3entry("Sharpening.HalocontrolEnabled", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("Sharpening.HalocontrolAmount", new PP3entry("Sharpening.HalocontrolAmount", Convert.ToInt32(GetValue(Llines[i])), 1, 100)); i++;
			Values.Add("Sharpening.DeconvRadius", new PP3entry("Sharpening.DeconvRadius", Convert.ToDouble(GetValue(Llines[i]), culture), 0.5d, 2.5d)); i++;
			Values.Add("Sharpening.DeconvAmount", new PP3entry("Sharpening.DeconvAmount", Convert.ToInt32(GetValue(Llines[i])), 0, 100)); i++;
			Values.Add("Sharpening.DeconvDamping", new PP3entry("Sharpening.DeconvDamping", Convert.ToInt32(GetValue(Llines[i])), 0, 100)); i++;
			Values.Add("Sharpening.DeconvIterations", new PP3entry("Sharpening.DeconvIterations", Convert.ToInt32(GetValue(Llines[i])), 5, 100)); i++;
			Values.Add("Vibrance.Enabled", new PP3entry("Vibrance.Enabled", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("Vibrance.Pastels", new PP3entry("Vibrance.Pastels", Convert.ToInt32(GetValue(Llines[i])), -100, 100)); i++;
			Values.Add("Vibrance.Saturated", new PP3entry("Vibrance.Saturated", Convert.ToInt32(GetValue(Llines[i])), -100, 100)); i++;
			Values.Add("Vibrance.PSThreshold", new PP3entry("Vibrance.PSThreshold", PP3Curve.GetCurve(GetValue(Llines[i])), null, null)); i++;
			Values.Add("Vibrance.ProtectSkins", new PP3entry("Vibrance.ProtectSkins", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("Vibrance.AvoidColorShift", new PP3entry("Vibrance.AvoidColorShift", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("Vibrance.PastSatTog", new PP3entry("Vibrance.PastSatTog", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("SharpenEdge.Enabled", new PP3entry("SharpenEdge.Enabled", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("SharpenEdge.Passes", new PP3entry("SharpenEdge.Passes", Convert.ToInt32(GetValue(Llines[i])), 1, 4)); i++;
			Values.Add("SharpenEdge.Strength", new PP3entry("SharpenEdge.Strength", Convert.ToInt32(GetValue(Llines[i])), 0, 100)); i++;
			Values.Add("SharpenEdge.ThreeChannels", new PP3entry("SharpenEdge.ThreeChannels", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("SharpenMicro.Enabled", new PP3entry("SharpenMicro.Enabled", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("SharpenMicro.Matrix", new PP3entry("SharpenMicro.Matrix", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("SharpenMicro.Strength", new PP3entry("SharpenMicro.Strength", Convert.ToInt32(GetValue(Llines[i])), 0, 100)); i++;
			Values.Add("SharpenMicro.Uniformity", new PP3entry("SharpenMicro.Uniformity", Convert.ToInt32(GetValue(Llines[i])), 0, 100)); i++;
			Values.Add("WhiteBalance.Setting", new PP3entry("WhiteBalance.Setting", GetValue(Llines[i]), null, null)); i++;
			Values.Add("WhiteBalance.Temperature", new PP3entry("WhiteBalance.Temperature", Convert.ToInt32(GetValue(Llines[i])), 2000, 25000)); i++;
			Values.Add("WhiteBalance.Green", new PP3entry("WhiteBalance.Green", Convert.ToDouble(GetValue(Llines[i]), culture), 0.02d, 5d)); i++;
			Values.Add("ImpulseDenoising.Enabled", new PP3entry("ImpulseDenoising.Enabled", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("ImpulseDenoising.Threshold", new PP3entry("ImpulseDenoising.Threshold", Convert.ToInt32(GetValue(Llines[i])), 0, 100)); i++;
			Values.Add("Defringing.Enabled", new PP3entry("Defringing.Enabled", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("Defringing.Radius", new PP3entry("Defringing.Radius", Convert.ToDouble(GetValue(Llines[i]), culture), 0.5d, 5d)); i++;
			Values.Add("Defringing.Threshold", new PP3entry("Defringing.Threshold", Convert.ToInt32(GetValue(Llines[i])), 0, 100)); i++;
			Values.Add("DirectionalPyramidDenoising.Enabled", new PP3entry("DirectionalPyramidDenoising.Enabled", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("DirectionalPyramidDenoising.Luma", new PP3entry("DirectionalPyramidDenoising.Luma", Convert.ToInt32(GetValue(Llines[i])), 0, 100)); i++;
			Values.Add("DirectionalPyramidDenoising.Chroma", new PP3entry("DirectionalPyramidDenoising.Chroma", Convert.ToInt32(GetValue(Llines[i])), 0, 100)); i++;
			Values.Add("DirectionalPyramidDenoising.Gamma", new PP3entry("DirectionalPyramidDenoising.Gamma", Convert.ToDouble(GetValue(Llines[i]), culture), 1d, 3d)); i++;
			Values.Add("EPD.Enabled", new PP3entry("EPD.Enabled", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("EPD.Strength", new PP3entry("EPD.Strength", Convert.ToDouble(GetValue(Llines[i]), culture), -2d, 0.25d)); i++;
			Values.Add("EPD.EdgeStopping", new PP3entry("EPD.EdgeStopping", Convert.ToDouble(GetValue(Llines[i]), culture), 0.1d, 1.4d)); i++;
			Values.Add("EPD.Scale", new PP3entry("EPD.Scale", Convert.ToDouble(GetValue(Llines[i]), culture), 0.1d, 1d)); i++;
			Values.Add("EPD.ReweightingIterates", new PP3entry("EPD.ReweightingIterates", Convert.ToInt32(GetValue(Llines[i])), 0, 9)); i++;
			Values.Add("ShadowsAndHighlights.Enabled", new PP3entry("ShadowsAndHighlights.Enabled", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("ShadowsAndHighlights.HighQuality", new PP3entry("ShadowsAndHighlights.HighQuality", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("ShadowsAndHighlights.Highlights", new PP3entry("ShadowsAndHighlights.Highlights", Convert.ToInt32(GetValue(Llines[i])), 0, 100)); i++;
			Values.Add("ShadowsAndHighlights.HighlightTonalWidth", new PP3entry("ShadowsAndHighlights.HighlightTonalWidth", Convert.ToInt32(GetValue(Llines[i])), 10, 100)); i++;
			Values.Add("ShadowsAndHighlights.Shadows", new PP3entry("ShadowsAndHighlights.Shadows", Convert.ToInt32(GetValue(Llines[i])), 0, 100)); i++;
			Values.Add("ShadowsAndHighlights.ShadowTonalWidth", new PP3entry("ShadowsAndHighlights.ShadowTonalWidth", Convert.ToInt32(GetValue(Llines[i])), 10, 100)); i++;
			Values.Add("ShadowsAndHighlights.LocalContrast", new PP3entry("ShadowsAndHighlights.LocalContrast", Convert.ToInt32(GetValue(Llines[i])), 0, 100)); i++;
			Values.Add("ShadowsAndHighlights.Radius", new PP3entry("ShadowsAndHighlights.Radius", Convert.ToInt32(GetValue(Llines[i])), 5, 100)); i++;
			Values.Add("Crop.Enabled", new PP3entry("Crop.Enabled", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("Crop.X", new PP3entry("Crop.X", Convert.ToInt32(GetValue(Llines[i])), 0, 0)); i++;
			Values.Add("Crop.Y", new PP3entry("Crop.Y", Convert.ToInt32(GetValue(Llines[i])), 0, 0)); i++;
			Values.Add("Crop.W", new PP3entry("Crop.W", Convert.ToInt32(GetValue(Llines[i])), 0, 0)); i++;
			Values.Add("Crop.H", new PP3entry("Crop.H", Convert.ToInt32(GetValue(Llines[i])), 0, 0)); i++;
			Values.Add("Crop.FixedRatio", new PP3entry("Crop.FixedRatio", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("Crop.Ratio", new PP3entry("Crop.Ratio", GetValue(Llines[i]), null, null)); i++;
			Values.Add("Crop.Orientation", new PP3entry("Crop.Orientation", GetValue(Llines[i]), null, null)); i++;
			Values.Add("Crop.Guide", new PP3entry("Crop.Guide", GetValue(Llines[i]), null, null)); i++;
			Values.Add("CoarseTransformation.Rotate", new PP3entry("CoarseTransformation.Rotate", Convert.ToInt32(GetValue(Llines[i])), 0, 0)); i++;
			Values.Add("CoarseTransformation.HorizontalFlip", new PP3entry("CoarseTransformation.HorizontalFlip", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("CoarseTransformation.VerticalFlip", new PP3entry("CoarseTransformation.VerticalFlip", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("CommonPropertiesforTransformations.AutoFill", new PP3entry("CommonPropertiesforTransformations.AutoFill", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("Rotation.Degree", new PP3entry("Rotation.Degree", Convert.ToDouble(GetValue(Llines[i]), culture), -45d, 45d)); i++;
			Values.Add("Distortion.Amount", new PP3entry("Distortion.Amount", Convert.ToDouble(GetValue(Llines[i]), culture), -0.5d, 0.5d)); i++;
			Values.Add("LensProfile.LCPFile", new PP3entry("LensProfile.LCPFile", GetValue(Llines[i]), null, null)); i++;
			Values.Add("LensProfile.UseDistortion", new PP3entry("LensProfile.UseDistortion", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("LensProfile.UseVignette", new PP3entry("LensProfile.UseVignette", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("LensProfile.UseCA", new PP3entry("LensProfile.UseCA", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("Perspective.Horizontal", new PP3entry("Perspective.Horizontal", Convert.ToInt32(GetValue(Llines[i])), -100, 100)); i++;
			Values.Add("Perspective.Vertical", new PP3entry("Perspective.Vertical", Convert.ToInt32(GetValue(Llines[i])), -100, 100)); i++;
			Values.Add("CACorrection.Red", new PP3entry("CACorrection.Red", Convert.ToDouble(GetValue(Llines[i]), culture), -0.005d, 0.005d)); i++;
			Values.Add("CACorrection.Blue", new PP3entry("CACorrection.Blue", Convert.ToDouble(GetValue(Llines[i]), culture), -0.005d, 0.005d)); i++;
			Values.Add("VignettingCorrection.Amount", new PP3entry("VignettingCorrection.Amount", Convert.ToInt32(GetValue(Llines[i])), -100, 100)); i++;
			Values.Add("VignettingCorrection.Radius", new PP3entry("VignettingCorrection.Radius", Convert.ToInt32(GetValue(Llines[i])), 0, 100)); i++;
			Values.Add("VignettingCorrection.Strength", new PP3entry("VignettingCorrection.Strength", Convert.ToInt32(GetValue(Llines[i])), 1, 100)); i++;
			Values.Add("VignettingCorrection.CenterX", new PP3entry("VignettingCorrection.CenterX", Convert.ToInt32(GetValue(Llines[i])), -100, 100)); i++;
			Values.Add("VignettingCorrection.CenterY", new PP3entry("VignettingCorrection.CenterY", Convert.ToInt32(GetValue(Llines[i])), -100, 100)); i++;
			Values.Add("HLRecovery.Enabled", new PP3entry("HLRecovery.Enabled", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("HLRecovery.Method", new PP3entry("HLRecovery.Method", GetValue(Llines[i]), null, null)); i++;
			Values.Add("Resize.Enabled", new PP3entry("Resize.Enabled", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("Resize.Scale", new PP3entry("Resize.Scale", Convert.ToDouble(GetValue(Llines[i]), culture), 0.01d, 4d)); i++;
			Values.Add("Resize.AppliesTo", new PP3entry("Resize.AppliesTo", GetValue(Llines[i]), null, null)); i++;
			Values.Add("Resize.Method", new PP3entry("Resize.Method", GetValue(Llines[i]), null, null)); i++;
			Values.Add("Resize.DataSpecified", new PP3entry("Resize.DataSpecified", Convert.ToInt32(GetValue(Llines[i])), 0, 0)); i++;
			Values.Add("Resize.Width", new PP3entry("Resize.Width", Convert.ToInt32(GetValue(Llines[i])), 0, 0)); i++;
			Values.Add("Resize.Height", new PP3entry("Resize.Height", Convert.ToInt32(GetValue(Llines[i])), 0, 0)); i++;
			Values.Add("ColorManagement.InputProfile", new PP3entry("ColorManagement.InputProfile", GetValue(Llines[i]), null, null)); i++;
			Values.Add("ColorManagement.BlendCMSMatrix", new PP3entry("ColorManagement.BlendCMSMatrix", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("ColorManagement.PreferredProfile", new PP3entry("ColorManagement.PreferredProfile", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("ColorManagement.WorkingProfile", new PP3entry("ColorManagement.WorkingProfile", GetValue(Llines[i]), null, null)); i++;
			Values.Add("ColorManagement.OutputProfile", new PP3entry("ColorManagement.OutputProfile", GetValue(Llines[i]), null, null)); i++;
			Values.Add("ColorManagement.Gammafree", new PP3entry("ColorManagement.Gammafree", GetValue(Llines[i]), null, null)); i++;
			Values.Add("ColorManagement.Freegamma", new PP3entry("ColorManagement.Freegamma", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("ColorManagement.GammaValue", new PP3entry("ColorManagement.GammaValue", Convert.ToDouble(GetValue(Llines[i]), culture), 1d, 1d)); i++;
			Values.Add("ColorManagement.GammaSlope", new PP3entry("ColorManagement.GammaSlope", Convert.ToDouble(GetValue(Llines[i]), culture), 0d, 15d)); i++;
			Values.Add("DirectionalPyramidEqualizer.Enabled", new PP3entry("DirectionalPyramidEqualizer.Enabled", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("DirectionalPyramidEqualizer.Mult0", new PP3entry("DirectionalPyramidEqualizer.Mult0", Convert.ToDouble(GetValue(Llines[i]), culture), 0d, 4d)); i++;
			Values.Add("DirectionalPyramidEqualizer.Mult1", new PP3entry("DirectionalPyramidEqualizer.Mult1", Convert.ToDouble(GetValue(Llines[i]), culture), 0d, 4d)); i++;
			Values.Add("DirectionalPyramidEqualizer.Mult2", new PP3entry("DirectionalPyramidEqualizer.Mult2", Convert.ToDouble(GetValue(Llines[i]), culture), 0d, 4d)); i++;
			Values.Add("DirectionalPyramidEqualizer.Mult3", new PP3entry("DirectionalPyramidEqualizer.Mult3", Convert.ToDouble(GetValue(Llines[i]), culture), 0d, 4d)); i++;
			Values.Add("DirectionalPyramidEqualizer.Mult4", new PP3entry("DirectionalPyramidEqualizer.Mult4", Convert.ToDouble(GetValue(Llines[i]), culture), 0d, 1d)); i++;
			Values.Add("HSVEqualizer.HCurve", new PP3entry("HSVEqualizer.HCurve", PP3Curve.GetCurve(GetValue(Llines[i])), null, null)); i++;
			Values.Add("HSVEqualizer.SCurve", new PP3entry("HSVEqualizer.SCurve", PP3Curve.GetCurve(GetValue(Llines[i])), null, null)); i++;
			Values.Add("HSVEqualizer.VCurve", new PP3entry("HSVEqualizer.VCurve", PP3Curve.GetCurve(GetValue(Llines[i])), null, null)); i++;
			Values.Add("RGBCurves.rCurve", new PP3entry("RGBCurves.rCurve", PP3Curve.GetCurve(GetValue(Llines[i])), null, null)); i++;
			Values.Add("RGBCurves.gCurve", new PP3entry("RGBCurves.gCurve", PP3Curve.GetCurve(GetValue(Llines[i])), null, null)); i++;
			Values.Add("RGBCurves.bCurve", new PP3entry("RGBCurves.bCurve", PP3Curve.GetCurve(GetValue(Llines[i])), null, null)); i++;
			Values.Add("RAW.DarkFrame", new PP3entry("RAW.DarkFrame", GetValue(Llines[i]), null, null)); i++;
			Values.Add("RAW.DarkFrameAuto", new PP3entry("RAW.DarkFrameAuto", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("RAW.FlatFieldFile", new PP3entry("RAW.FlatFieldFile", GetValue(Llines[i]), null, null)); i++;
			Values.Add("RAW.FlatFieldAutoSelect", new PP3entry("RAW.FlatFieldAutoSelect", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("RAW.FlatFieldBlurRadius", new PP3entry("RAW.FlatFieldBlurRadius", Convert.ToInt32(GetValue(Llines[i])), 0, 200)); i++;
			Values.Add("RAW.FlatFieldBlurType", new PP3entry("RAW.FlatFieldBlurType", GetValue(Llines[i]), null, null)); i++;
			Values.Add("RAW.CA", new PP3entry("RAW.CA", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("RAW.CARed", new PP3entry("RAW.CARed", Convert.ToDouble(GetValue(Llines[i]), culture), -4d, 4d)); i++;
			Values.Add("RAW.CABlue", new PP3entry("RAW.CABlue", Convert.ToDouble(GetValue(Llines[i]), culture), -4d, 4d)); i++;
			Values.Add("RAW.HotDeadPixels", new PP3entry("RAW.HotDeadPixels", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("RAW.HotDeadPixelThresh", new PP3entry("RAW.HotDeadPixelThresh", Convert.ToInt32(GetValue(Llines[i])), 40, 40)); i++;
			Values.Add("RAW.LineDenoise", new PP3entry("RAW.LineDenoise", Convert.ToInt32(GetValue(Llines[i])), 0, 1000)); i++;
			Values.Add("RAW.GreenEqThreshold", new PP3entry("RAW.GreenEqThreshold", Convert.ToInt32(GetValue(Llines[i])), 0, 100)); i++;
			Values.Add("RAW.CcSteps", new PP3entry("RAW.CcSteps", Convert.ToInt32(GetValue(Llines[i])), 0, 5)); i++;
			Values.Add("RAW.Method", new PP3entry("RAW.Method", GetValue(Llines[i]), null, null)); i++;
			Values.Add("RAW.DCBIterations", new PP3entry("RAW.DCBIterations", Convert.ToInt32(GetValue(Llines[i])), 0, 5)); i++;
			Values.Add("RAW.DCBEnhance", new PP3entry("RAW.DCBEnhance", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("RAW.ALLEnhance", new PP3entry("RAW.ALLEnhance", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;
			Values.Add("RAW.PreExposure", new PP3entry("RAW.PreExposure", Convert.ToDouble(GetValue(Llines[i]), culture), 0.1d, 16d)); i++;
			Values.Add("RAW.PrePreserv", new PP3entry("RAW.PrePreserv", Convert.ToDouble(GetValue(Llines[i]), culture), 0d, 2.5d)); i++;
			Values.Add("RAW.PreBlackzero", new PP3entry("RAW.PreBlackzero", Convert.ToDouble(GetValue(Llines[i]), culture), -50d, 50d)); i++;
			Values.Add("RAW.PreBlackone", new PP3entry("RAW.PreBlackone", Convert.ToDouble(GetValue(Llines[i]), culture), -50d, 50d)); i++;
			Values.Add("RAW.PreBlacktwo", new PP3entry("RAW.PreBlacktwo", Convert.ToDouble(GetValue(Llines[i]), culture), -50d, 50d)); i++;
			Values.Add("RAW.PreBlackthree", new PP3entry("RAW.PreBlackthree", Convert.ToDouble(GetValue(Llines[i]), culture), -50d, 50d)); i++;
			Values.Add("RAW.PreTwoGreen", new PP3entry("RAW.PreTwoGreen", Convert.ToBoolean(GetValue(Llines[i])), null, null)); i++;

			NewCompensation = Compensation;
		}
	}
}
